/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package sistema.ecua911.negocio.gestores;

import MatrizDinamica.Matriz;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import sistema.ecua911.datos.BDs.DireccionDB;
import sistema.ecua911.datos.BDs.InstitucionDB;
import sistema.ecua911.negocio.Direccion;
import sistema.ecua911.negocio.Entidad;
import sistema.ecua911.negocio.Responsable;
import sistema.ecua911.negocio.TipoEntidad;

public class GestorEntidad {

    HashMap<Entidad, Integer> entidades = new HashMap<>();

    public void grabar(String nombre, Direccion direccion, String Email, String telefono, String ciudad, String tipoEntidad, Responsable responsable) throws SQLException {
        InstitucionDB intitucionDB = new InstitucionDB();
        TipoEntidad tipo = new TipoEntidad(tipoEntidad);
        Entidad estidad = new Entidad(nombre, direccion, Email, telefono, ciudad, tipo, responsable);
        intitucionDB.grabar(estidad);
    }

    public HashMap<Entidad, Integer> getEntidades() {
        return entidades;
    }

    public void setEntidades(HashMap<Entidad, Integer> entidades) {
        this.entidades = entidades;
    }

    public MatrizDinamica.Matriz Listar() throws SQLException {// para listar los usuarios
        MatrizDinamica.Matriz matriz = new Matriz(5);
        InstitucionDB intitucionDB = new InstitucionDB();
        Object[] vec = new Object[5];
        ArrayList lista = intitucionDB.listar();
        for (Object o : lista) {
            Entidad entidad = (Entidad) o;
            DireccionDB direccionDB = new DireccionDB();
            entidad.setDirecion(direccionDB.buscar(entidad.getDireccion().getIdDirecion()));
            Direccion direccion = entidad.getDireccion();
            vec[0] = entidad.getNombre();
            vec[1] = entidad.getEmail();
            vec[2] = entidad.getTelefono();
            vec[3] = entidad.getCiudad();
            vec[4] = entidad.getTipoentidad().getDescripcion();
            matriz.agregar(vec);
        }
        return matriz;
    }
    public ArrayList getEtidades(String tipo) throws SQLException{
        InstitucionDB intitucionDB = new InstitucionDB();
        ArrayList lista = intitucionDB.getEntidad(tipo);
        
        
        
        
        return lista;
        
        
    }
}
